2
תגובות

תווים מיוחדים

פתח roice ,
אהלן,

כשאני דוחף דאטא ל DB אני משתמש ב mysql_real_escape_string
למשל:
$text = mysql_real_escape_string ($_POST['text']);


כשאני שולף את הדאטא מה DB ורוצה להציג אותו יש לי בעיה
אם אני אשלוף אותו באמצעות stripslashes, למשל:
$text = stripslashes ($index['text']);

אזי אני לא אוכל להציג את הטקסט עם הסימנים המיוחדים ולא אוכל להציג תוכן שהוא XML (למשל)

אם אני אשתמש ב htmlspecialchars, למשל:
$text = htmlspecialchars ($index['text']);

אזי כן יופיע לי התוכן XML אבל בכל מקום שיש בטקסט גרש או גרשיים יופי לי סלאש ("/)

מה עושים כדי להציג את הטקסט בצורה תיקנית?

תודה מראש,
רועי.

2 תשובות

avatar ענה intval ב 24 ליוני 2013 #

משתמשים ב htmlSpecialChars
הבעיה אצלך היא שיש איפשהו פעמיים קריאה ל mysql_real_escape_string

יכול להיות שלא אתה עושה את זה, אלה האחסון עושה את זה. תנסה שורה אחת לפני ההכנסה עצמה (mysql_query)
להדפיס את התוכן של השאילת ותראה אם מופיעים שם סלאשים כבר פעמיים.

יכול להיות שהם נוספים במקום אחר. אבל htmlSpecialChars עצמה לא מוסיפה סלאשים. מישהו אחר מוסיף אותם והיא רק מציגה אותם.

avatar ענה Michael ב 25 ליוני 2013 #

ותבדוק אם magic quotes מופעל